package main

func CheckCollision(bullet *Bullet, alien *Alien) bool {
	alienTop, alienLeft := alien.Y, alien.X
	alienBottom, alienRight := alien.Y+float64(alien.Height), alien.X+float64(alien.Width)
	// 左上角
	x, y := bullet.X, bullet.Y
	if x < alienBottom && x > alienTop && y < alienRight && y > alienLeft {
		return true
	}
	// 右上角
	x, y = bullet.X+float64(bullet.Width), bullet.Y
	if x <= alienBottom && x >= alienTop && y <= alienRight && y >= alienLeft {
		return true
	}
	// 左下角
	x, y = bullet.X, bullet.Y+float64(bullet.Height)
	if y > alienTop && y < alienBottom && x > alienLeft && x < alienRight {
		return true
	}

	// 右下角
	x, y = bullet.X+float64(bullet.Width), bullet.Y+float64(bullet.Height)
	if y > alienTop && y < alienBottom && x > alienLeft && x < alienRight {
		return true
	}
	return false
}
func GameOverCheck(ship *Ship, alien *Alien) bool {
	if ship.X < alien.X+float64(alien.Width) && ship.X+float64(ship.Width) > alien.X && ship.Y < alien.Y+float64(alien.Height) && ship.Y+float64(ship.Height) > alien.Y {
		return true
	}
	return false
}
